package cn.hsa.fqz.task.service;

import cn.hsa.fqz.task.entity.TTaskClueSubject;
import cn.hsa.fqz.task.service.dto.LoginUserDTO;
import cn.hsa.fqz.task.service.dto.TaskClueQueryDTO;
import cn.hsa.hsaf.core.framework.util.PageResult;
import cn.hsa.hsaf.core.framework.web.WrapperResponse;


public interface TClueTaskService {
    /**
     * 申报
     * @param loginUser
     * @param subject
     * @return
     */
    WrapperResponse<Boolean> addPutin(LoginUserDTO loginUser, TTaskClueSubject subject);

    /**
     * 编辑
     * @param loginUser
     * @param subject
     * @return
     */
    WrapperResponse<Boolean> update(LoginUserDTO loginUser, TTaskClueSubject subject);

    /**
     * 分页查询申报列表
     * @param query
     * @return
     */
    WrapperResponse<PageResult<TTaskClueSubject>> getPageByCondition(TaskClueQueryDTO query);

    /**
     * 查询审核列表
     * @param query
     * @return
     */
    WrapperResponse<PageResult<TTaskClueSubject>> getPageAuditByCondition(TaskClueQueryDTO query);

    /**
     * 审核
     * @param loginUser
     * @param subjectId
     * @return
     */
    WrapperResponse<Boolean> addAudit(LoginUserDTO loginUser, Integer subjectId, Integer isAudit, String rejectReason);

    /**
     * 编辑
     * @param loginUser
     * @param subject
     * @return
     */
    WrapperResponse<Boolean> edit(LoginUserDTO loginUser, TTaskClueSubject subject);

    WrapperResponse<TTaskClueSubject> getById(Integer subjectId);
}
